"""
模拟 ATM 系统（仅命令行）
要求：
实现一个简易 ATM 系统，功能如下：
1. 输入初始账户余额
2. 支持 3 种操作：存款、取款、查询余额
3. 使用循环持续操作，直到输入 "exit" 退出程序
"""
def deposit(balance, amount):
    #存款
    if amount <= 0:
        print("错误：存款金额必须大于0")
        return balance
    new_balance = balance + amount
    print(f"存款成功！存入金额：{amount:.2f}元")
    return new_balance

def withdraw(balance, amount):
    #取款（包含余额检查）
    if amount <= 0:
        print("错误：取款金额必须大于0")
        return balance
    if amount > balance:
        print("错误：取款金额超过账户余额")
        return balance
    new_balance = balance - amount
    print(f"取款成功！取出金额：{amount:.2f}元")
    return new_balance


def check_balance(balance):
    #查询余额
    print(f"当前账户余额：{balance:.2f}元")
    return balance
def main():
    #主程序函数
    #初始化账户余额
    while True:
        try:
            balance = float(input("请输入初始账户余额："))
            if balance < 0:
                print("错误：余额不能为负数")
                continue
            break
        except ValueError:
            print("错误：请输入有效的数字")
    #操作指令说明
    print("\nATM系统已启动，可用操作：")
    print("存款 -> 输入 'd' 或 'deposit'")
    print("取款 -> 输入 'w' 或 'withdraw'")
    print("查询 -> 输入 'c' 或 'check'")
    print("退出 -> 输入 'exit'")

    #主循环
    while True:
        operation = input("\n请输入操作指令：").strip().lower()
        #退出程序
        if operation == 'exit':
            print("感谢使用ATM系统，再见！")
            break
        #存款
        elif operation in ('d', 'deposit'):
            try:
                amount = float(input("请输入存款金额："))
                balance = deposit(balance, amount)
            except ValueError:
                print("错误：请输入有效的数字")

        #取款
        elif operation in ('w', 'withdraw'):
            try:
                amount = float(input("请输入取款金额："))
                balance = withdraw(balance, amount)
            except ValueError:
                print("错误：请输入有效的数字")
        #查询余额
        elif operation in ('c', 'check'):
            balance = check_balance(balance)
        #无效指令处理
        else:
            print("错误：无效指令，请重新输入")

if __name__ == "__main__":
    main()